package aufgabe_03;

class Reader implements Runnable {
	Stack stackref = null;

	// Konstruktor von Reader
	public Reader(Stack st) {
		stackref = st;
	}
	
	public void run() {
		// In einer Endlosschleife Stackinhalte auf Bildschirm
		// ausgeben, dann vom Stack ein Element holen und seinen Wert
		// in einer neuen Zeile auf dem Bildschirm ausgeben
		while (true) {
			stackref.print();
			// Im catch-Handler bei Stack-Unterlauf ausgeben:
			// "Reader: Stack ist leer"
			try {
				System.out.println("Element holen: " + stackref.pop());
			} catch (UnderflowException e) {
				System.out.println("Reader: Stack ist leer");
			}
			// 3 ms schlafen legen. Vielleicht wird der Stack
			// inzwischen gefuellt.
			try {
				Thread.sleep(3);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
}